From 75429d2f0b63833a0fde3da1442aa08018ea8750 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20Kol=C3=A5s?= Date: Fri, 9 Dec 2016 14:26:31 +0100 Subject: [PATCH] extensions: speed up 8bit gray scale for GIMP --- extensions/gimp-8bit.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/extensions/gimp-8bit.c b/extensions/gimp-8bit.c index d3e9522..55bd95c 100644 --- a/extensions/gimp-8bit.c +++ b/extensions/gimp-8bit.c @@ -228,6 +228,24 @@ conv_ga8_gamma_2_2_gaF_linear (unsigned char *src, return samples; } +static INLINE long +conv_ga8_gamma_2_2_rgba8_gamma_2_2 (unsigned char *src, + unsigned char *dst, + long samples) +{ + long n = samples; + + while (n--) + { + *dst++ = *src; + *dst++ = *src; + *dst++ = *src++; + *dst++ = *src++; + } + + return samples; +} + static INLINE long conv_ga8_linear_rgbaF_linear (unsigned char *src, unsigned char *dst, @@ -496,6 +514,8 @@ init (void) o (ga8_linear, rgbaF_linear); o (ga8_gamma_2_2, rgbaF_linear); + o (ga8_gamma_2_2, rgba8_gamma_2_2); + o (g8_linear, gF_linear); o (g8_gamma_2_2, gF_linear); o (g8_linear, rgbaF_linear); -- 2.30.2